Skip to content

Conversation

@sameerasw
Copy link
Owner

This pull request introduces a new Watermark feature to the app, enabling users to add watermarks to images with customizable options and EXIF metadata. The implementation includes new activities, data storage for watermark settings, EXIF data extraction, and UI components for image selection and preview. Additionally, several reusable UI components have been enhanced to support the new feature.

New Watermark Feature Implementation:

  • Added a new activity, WatermarkActivity, which handles image selection (including share intents) and displays the watermarking UI. (app/src/main/java/com/sameerasw/essentials/ui/composables/watermark/WatermarkActivity.kt)
  • Introduced a WatermarkPreview composable for displaying the image preview with watermark and handling different UI states (idle, processing, success, error). (app/src/main/java/com/sameerasw/essentials/ui/composables/watermark/WatermarkPreview.kt)
  • Registered the new activity in the manifest with an intent filter to support sharing images directly to the app. (app/src/main/AndroidManifest.xml)
  • Added the Watermark feature to the FeatureRegistry, making it accessible from the app's feature list. (app/src/main/java/com/sameerasw/essentials/domain/registry/FeatureRegistry.kt)

Watermark Data Management and EXIF Extraction:

  • Implemented WatermarkRepository to manage user preferences for watermark appearance and content using DataStore, with various update methods for different settings. (app/src/main/java/com/sameerasw/essentials/domain/watermark/WatermarkRepository.kt)
  • Added MetadataProvider for extracting EXIF metadata from images, encapsulating camera and shooting information. (app/src/main/java/com/sameerasw/essentials/domain/watermark/MetadataProvider.kt)

UI Component Enhancements:

  • Enhanced ReusableTopAppBar to allow customization of the container color, supporting better theming for new screens. (app/src/main/java/com/sameerasw/essentials/ui/components/ReusableTopAppBar.kt) [1] [2] [3]
  • Updated SegmentedPicker to optionally support icons for each segment, improving usability for feature-rich pickers. (app/src/main/java/com/sameerasw/essentials/ui/components/pickers/SegmentedPicker.kt) [1] [2]

Dependency Updates:

  • Added dependencies for EXIF interface and extended material icons to support watermark functionality and richer UI. (app/build.gradle.kts)

@sameerasw sameerasw self-assigned this Jan 23, 2026
@sameerasw sameerasw added the enhancement New feature or request label Jan 23, 2026
@sameerasw sameerasw merged commit e99b408 into develop Jan 23, 2026
1 check passed
@github-project-automation github-project-automation bot moved this from Backlog to Done in Essentials Progress Jan 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants